﻿
using Magicodes.Admin.WULINGAddresss;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;

namespace Magicodes.Admin.SFOrders
{
    /// <summary>
    /// 订单
    /// </summary>
    public class SFOrder : EntityBase<long>
    {
        /// <summary>
        /// 重新下单次数
        /// </summary>
        public int SFQiaoCreateOrderTime { get; set; } = 0;
        /// <summary>
        /// 是否新订单
        /// </summary>
        public bool IsNewOrder { get; set; } = true;
        /// <summary>
        /// 是否已经顺丰下单
        /// </summary>
        public string SFQiaoCreateOrderRespXml { get; set; }
        /// <summary>
        /// 是否已经顺丰下单
        /// </summary>
        public bool IsWithSFQiaoCreateOrder { get; set; }

        [Required]
        public string ServiceStationCode { get; set; }



        /// <summary>
        /// 发货号
        /// </summary>
        public string ShippingNumber { get; set; }

        /// <summary>
        /// 分别在订单地址后增加”服务站号”
        /// </summary>
        public string AddressCoalescing
        {
            get; set;
        }

        public string ContentOfConsignment
        {
            get;set;
        }
        /// <summary>
        /// 不填默认为1
        /// </summary>
        public decimal Weight { get; set; } = 1;

        /// <summary>
        /// 件数 不填默认为1
        /// </summary>
        public int NumberOfCases { get; set; } = 1;

        /// <summary>
        /// 数量 不填默认为1
        /// </summary>
        public decimal Quantity { get; set; } = 1;

        /// <summary>
        /// 快递产品类型
        /// </summary>
        [Display(Name = "快递产品")]
        [Required]
        public string ExpressProductType { get; set; }

        /// <summary>
        /// 付款方式
        /// </summary>
        [Display(Name = "付款方式")]
        [Required]
        //[MaxLength(50)]
        public string PaymentMethod { get; set; }


        /// <summary>
        /// 月结卡号
        /// </summary>
        [Display(Name = "月结卡号")]
        [Required]
        public string MonthlyCardNumber { get; set; }

        public string CompanyName { get; set; }

        /// <summary>
        /// 是否报价
        /// </summary>
        [Display(Name = "是否报价")]
        public string WhetherTheValuation { get; set; }
        /// <summary>
        /// 声明价值
        /// </summary>
        [Display(Name = "声明价值")]
        public string DeclaredValue { get; set; }

        /// <summary>
        /// 是否自取
        /// </summary>
        [Display(Name = "是否自取")]
        public string WhetherComeUndone { get; set; }

        /// <summary>
        /// 行业型增值服务
        /// </summary>
        [Display(Name = "行业型增值服务")]
        public string IndustryOrientedValueAddedServices { get; set; }

        /// <summary>
        /// 备注1
        /// </summary>
        [Display(Name = "备注1")]
        public string Note1 { get; set; }

        /// <summary>
        /// 备注2
        /// </summary>
        [Display(Name = "备注2")]
        public string Note2 { get; set; }

        /// <summary>
        /// 备注3
        /// </summary>
        [Display(Name = "备注3")]
        public string Note3 { get; set; }

        public SFOrder()
        {


        }


    }

    /// <summary>
    /// 下单返回
    /// </summary>
    public class SFOrderResult : EntityBase<long>
    {
        public long OrderId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string waybillNo { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string sourceCityCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string destCityCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string destDeptCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string destDeptCodeMapping { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string destTeamCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string destTransferCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string destRouteLabel { get; set; }
        /// <summary>
        /// 顺丰标快
        /// </summary>
        public string proName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string cargoTypeCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string limitTypeCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string expressTypeCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string codingMapping { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string xbFlag { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string printFlag { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string twoDimensionCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string proCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string printIcon { get; set; }

        public string sourceDeptCode { get; set; }

        public string sourceTeamCode { get; set; }

        public string sourceTransferCode { get; set; }

        public string destRouteLabe { get; set; }
    }

}
